package com.wxw.BaseLibrary.element;

import android.view.Gravity;

/**
 * Created by david on 2014-06-19.
 */
public interface IDataGridViewDataSource {
    /***
     * 获取数据源对象行数
     * @return
     */
    int size();

    /**
     * 获取数据源对象的列对象
     * @param col
     * @return
     */
    DataSourceColumn getColumn(int col);

    /**
     * 获取数据源对象列数
     * @return
     */
    int getColumnSize();

    /**
     * 获取指定列的列名
     * @param col
     * @return
     */
    String getColumnName(int col);

    /**
     * 获取指定列的文本对齐方式
     * @param col
     * @return
     */
    int getColumnTextGravity(int col);

    /**
     * 获取指定列的宽度
     * @param col
     * @return
     */
    int getColumnWidth(int col);

    /**
     * 获取指定列的数值格式样式
     * @param col
     * @return
     */
    String getColumnFloatFormat(int col);

    /**
     * 将当前行移动到指定位置
     * @param row
     * @return
     */
    boolean moveToPosition(int row);

    /**
     * 获取指定行列的值
     * @param row
     * @param col
     * @return
     */
    String getValue(int row, int col);

    /**
     * 获取当前行的指定列的值
     * @param col
     * @return
     */
    String getValue(int col);

    /**
     * 获取当前行的指定行列的对象
     * @param row
     * @param col
     * @return
     */
    Object getObject(int row, int col);

    /**
     * 设置指定行列的值
     * @param row
     * @param col
     * @param value
     */
    void setValue(int row, int col, String value);

    /**
     * 添加一行新的数据行
     */
    void newDataRow();

    /**
     * 获取指定行号的背景色值
     * @param row
     * @return
     */
    int getRowBgColor(int row);

    /**
     * 获取列宽度是否按照比例进行设置
     * @return
     */
    boolean getWidthIsPercent();
}
